package com.project.mapper.gradeMapper;

import com.project.bean.UserBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IUserMapper {
    /**
     * 登录
     * @param userName 用户名
     * @param pwd 用户密码
     * @return 用户对象，登录失败返回null
     */
    public UserBean login(@Param("userName") String userName, @Param("pwd") String pwd);

    /**
     * 根据用户id修改密码
     * @param id 用户id
     * @param newPwd 用户新密码
     */
    public void updatePwd(@Param("id") int id, @Param("newPwd") String newPwd);

    /**
     * 根据用户名模糊条件查询用户
     * @param userName
     * @return 用户对象集合
     */
    public List<UserBean> findByName(@Param("userName") String userName);

    /**
     * 添加新的用户角色中间表
     * @param id 用户id
     * @param roleId 新的角色数组
     */
    public void addRoleList(@Param("id") int id, @Param("roleId") int[] roleId);

    /**
     * 添加用户，同时添加该用户的角色和权限
     * @param userBean 用户对象
     */
    public void add(UserBean userBean);

    /**
     * 根据用户id删除用户角色中间表
     * @param id
     */
    public void delUserRole(int id);

    /**
     * 删除用户
     * @param id 用户id
     */
    public void del(int id);

    /**
     * 根据id查找用户对象
     * @param id 用户id
     * @return 用户对象
     */
    public UserBean findById(int id);


}
